﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Documents;

namespace Hockey.Shared
{
    public static class Message
    {
        /// <summary>
        /// Event representing the move fired
        /// </summary>
        public const string MoveStepFired = "MoveStepFired";

        /// <summary>
        /// Event fired when board situation has changed
        /// </summary>
        public const string BoardChanged = "BoardChanged";

        /// <summary>
        /// Makes the button look pressed
        /// </summary>
        public const string PressCompassButton = "PressCompassButton";

        /// <summary>
        /// Unpress the compass button
        /// </summary>
        public const string UnpressCompassButton = "UnpressCompassButton";

        /// <summary>
        /// Notify to start the puck animation movement
        /// </summary>
        public const string AnimatePuckMovement = "AnimatePuckMovement";

        /// <summary>
        /// Animate puck rotation
        /// </summary>
        public const string AnimatePuckRotation = "AnimatePuckRotation";

        /// <summary>
        /// Notification that animation has finished - puck movement
        /// </summary>
        public const string MoveAnimationFinished = "MoveAnimationFinished";

        /// <summary>
        /// Notification that animation has finished - puck rotation
        /// </summary>
        public const string RotationAnimationFinished = "RotationAnimationFinished";

        /// <summary>
        /// Sets / unsets blocking input
        /// </summary>
        public const string SetInputBlocking = "SetInputBlocking";

        /// <summary>
        /// Event for closing the form - in the parameter sends the viewmodel
        /// </summary>
        public const string CloseForm = "CloseForm";

        /// <summary>
        /// Event raised to exit the application
        /// </summary>
        public const string ExitApplication = "ExitApplication";

        /// <summary>
        /// Message sent to start new game
        /// </summary>
        public const string StartNewGame = "StartNewGame";

        /// <summary>
        /// Runs the event to enter the player's name
        /// </summary>
        public const string EnterPlayerName = "EnterPlayerName";

        /// <summary>
        /// Sets the player name
        /// </summary>
        public const string SetPlayerName = "SetPlayerName";

        /// <summary>
        /// Invokes request to get the player name
        /// </summary>
        public const string GetPlayerName = "GetPlayerName";

        /// <summary>
        /// Event returning the player name
        /// </summary>
        public const string ReturningPlayerName = "ReturningPlayerName";

        /// <summary>
        /// For binding document in the help form
        /// </summary>
        public const string BindDocument = "BindDocument";

        /// <summary>
        /// Notification to start thinking progress
        /// </summary>
        public const string StartProgress = "StartProgress";

        /// <summary>
        /// Notification to terminate the thinking progress
        /// </summary>
        public const string TerminateProgress = "TerminateProgress";
    }
}
